;Parašykite programą, kuri perkoduoja įvestą ASCII simbolių eilutę,
;abėcėlės simbolius pakeisdama simetriškais nuo kito abėcėlės galo. 
;Pvz.: jei eilutė yra abc, turi atspausdinti zyx

SSG SEGMENT STACK
	DB 256 DUP(?)
SSG ENDS

DSG SEGMENT
	EILUTE DB 10,13,'Iveskite eilute: $'
	NULINE DB 10,13,'Apsukus gauname: $'
	BUFFER DB 10 dup(' ')
DSG ENDS

CSG SEGMENT
MAIN PROC			
	ASSUME DS:DSG, CS:CSG, SS:SSG 
	MOV AX, DSG
	MOV DS, AX
	
	LEA DX, EILUTE  
	MOV AH, 09h 	
	INT 21h 	
	
	LEA DX, BUFFER		
	MOV AH, 0Ah 		
	INT 21h
	
 	LEA DX, NULINE
 	MOV AH, 09h
 	INT 21h
 	
 	MOV BX, 0			;XOR BX, BX
  	MOV BL, BUFFER[1] 	
  	MOV BUFFER[BX]+2, '$'
  	MOV BX, 0
  	  	
  	ciklas:
  	MOV DL, BUFFER[BX]+2
  	INC BX
	CMP DL, '$'
  	JE  halt
  	
  	;reziu ap
  	CMP DL, 65
  	JL  nabc
  	CMP DL, 122
  	JG  nabc
  	  	
  	CMP DL, 96
  	JG  mazoji
  	
  	CMP DL, 90
  	JG  nabc
  	;reziu ap pab
  	
  	MOV AL, 155 	
  	SUB AL, DL 	
  	JMP prchr
  	  	
  	mazoji:
  	MOV AL, 219
  	SUB AL, DL 	
  	JMP prchr
  	
  	nabc:
  	MOV AL, DL
  	JMP prchr
  	
  	prchr:
  	MOV AH, 0Eh 		;teletypinis isvedimas 0Eh ziuri i al
  	INT 10h
  	
  	JMP ciklas
  	
  	halt:
	MOV AX, 4C00h 		;AL=00h(no error)
	INT 21h			
	
MAIN ENDP
CSG ENDS
END MAIN